import { getAction } from '../controller';

export interface CheckHealthPackageParams {
  /**
   * 套餐类型（查询字典表：套餐类型）
   */
  type?: string
}

export interface CheckHealthPackageRespVO {
  /**
   * 检查项目列表(ids) 以逗号隔开 0,1,2,3
   */
  checkItems?: number[]
  /**
   * 创建时间
   */
  createTime?: string
  /**
   * 套餐详情描述
   */
  description?: string
  /**
   * 折扣
   */
  discount?: number
  /**
   * 检查时长（如40分钟）
   */
  duration?: number
  /**
   * 套餐唯一ID
   */
  id?: number
  /**
   * 是否热门（0:否，1:是）
   */
  isHot?: boolean
  /**
   * 原价（如499.00，优惠时填写）
   */
  originalPrice?: number
  /**
   * 套餐名称（如“基础体检套餐”）
   */
  packageName?: string
  /**
   * 套餐价格（如299.00）
   */
  price?: number
  /**
   * 状态（0:下架，1:上架）
   */
  status?: boolean
  /**
   * 推荐人群（如“健康体检、入职体检、基础健康筛查”）
   */
  targetGroups?: string
  /**
   * 套餐类型（查询字典表：套餐类型）
   */
  type?: number
}

export interface CheckItemFeeRespVO {
  /**
   * 项目注意事项
   */
  attention?: string
  /**
   * 创建时间
   */
  createTime?: string
  /**
   * 自增主键
   */
  id?: number
  /**
   * 项目id
   */
  itemId?: number
  /**
   * 项目名称
   */
  itemName?: string
  /**
   * 项目价格
   */
  itemPrice?: number
  /**
   * 预计完成时间(分钟)
   */
  preFinishTime?: number
  /**
   * 项目准备事项
   */
  preparations?: string
  /**
   * 是否启用1:启用 2：未启用
   */
  status?: number
}

export interface CheckHealthPackageDetailRespVO {
  /**
   * 检查项目费用
   */
  checkItemFees?: CheckItemFeeRespVO[]
  /**
   * 检查项目列表(ids) 以逗号隔开 0,1,2,3
   */
  checkItems?: number[]
  /**
   * 创建时间
   */
  createTime?: string
  /**
   * 套餐详情描述
   */
  description?: string
  /**
   * 折扣
   */
  discount?: number
  /**
   * 检查时长（如40分钟）
   */
  duration?: number
  /**
   * 套餐唯一ID
   */
  id?: number
  /**
   * 是否热门（2:否，1:是）
   */
  isHot?: boolean
  /**
   * 原价（如499.00，优惠时填写）
   */
  originalPrice?: number
  /**
   * 套餐名称（如“基础体检套餐”）
   */
  packageName?: string
  /**
   * 套餐价格（如299.00）
   */
  price?: number
  /**
   * 状态（2:下架，1:上架）
   */
  status?: boolean
  /**
   * 推荐人群（如“健康体检、入职体检、基础健康筛查”）
   */
  targetGroups?: string[]
  /**
   * 套餐类型（查询字典表：套餐类型）
   */
  type?: number
}

export const CheckHealthPackageApi = {
  /**
   * 获取套餐列表
   * @param params
   * @returns
   */
  getPackageList: (params: CheckHealthPackageParams) =>
    getAction<CheckHealthPackageRespVO[]>('/system/check-health-package/list', params),

  /**
   * 获取套餐详情
   * @param id
   * @returns
   */
  getPackageDetail: (id: number) =>
    getAction<CheckHealthPackageDetailRespVO>('/system/check-health-package/getPackageDetail', { id })
};
